﻿using System;

namespace Hsenl {
    public interface IDataVersionHandler {
        public Type TargetType { get; }
        public int InputVersion { get; } // 输入版本
        public int OutputVersion { get; } // 输出版本
        public IDataVersionUpdatable Handle(IDataVersionUpdatable dataUpdatable);
    }

    public interface IDataVersionHandler<T> : IDataVersionHandler where T : IDataVersionUpdatable  {
        public T Handle(T input);
    }
}